﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Text.RegularExpressions;
using BaocaoNPC.common;
using bus_TienichNPC;
using CMISLibrary;
using CMISLibrary.Libraries;
using System.Windows.Controls.Primitives;

namespace BaocaoNPC.Usercontrols
{
    /// <summary>
    /// Interaction logic for ThongTinKhachHang.xaml
    /// </summary>
    public partial class CN_ThongTinKhachHang : UserControl
    {
        CN_THEODOINO_bus THEODOINO_bus = new CN_THEODOINO_bus();
        public string strUsername = NPCUS_DanhMuc.Pglobal.strTen_dangnhap != "" && NPCUS_DanhMuc.Pglobal.strTen_dangnhap != null ? NPCUS_DanhMuc.Pglobal.strTen_dangnhap : "NPC_ATM";
        public String strMadviqly = NPCUS_DanhMuc.Pglobal.strMa_dviqly != "" && NPCUS_DanhMuc.Pglobal.strMa_dviqly != null ? NPCUS_DanhMuc.Pglobal.strMa_dviqly : "PA";
        private Popup ppControl;
        private String s_ma_khang;
        private Label lblError;
        public CN_ThongTinKhachHang()
        {
            InitializeComponent();
            //LoadData(strMadviqly, "PA24HN0001050");
        }
        public CN_ThongTinKhachHang(Popup pp, String ma_khang)
        {
            InitializeComponent();
            this.ppControl = pp;
            this.s_ma_khang = ma_khang;
            //this.lblError = lblLoi;
            LoadData(strMadviqly, ma_khang);
        }
        private void LoadData(string MA_DVIQLY, string MA_KHANG)
        {
            DataSet data = new DataSet();
            data = GlobalServices.Service_NPCUS.SELECT_THONGTIN_KHANG(MA_DVIQLY, MA_KHANG);
            if (data.Tables[0].Rows.Count == 0) MessageBox.Show("Không tìm thấy thông tin khách hàng");
            txtMaKH.Text = data.Tables[0].Rows[0]["MA_KHANG"].ToString();
            txtDiachi.Text = data.Tables[0].Rows[0]["DCHI_HDON"].ToString();
            txtSdt.Text = data.Tables[0].Rows[0]["DTHOAI"].ToString();
            txtTenkhachhang.Text = data.Tables[0].Rows[0]["TEN_KHANG"].ToString();
            txtWebsite.Text = data.Tables[0].Rows[0]["WEBSITE"].ToString();
            txtEmail.Text = data.Tables[0].Rows[0]["EMAIL"].ToString();
            if (data.Tables[0].Rows[0]["NGAY_SINH"].ToString() != "" )
                dtpNgaysinh.SelectedDate = Convert.ToDateTime(data.Tables[0].Rows[0]["NGAY_SINH"].ToString());
            else dtpNgaysinh.SelectedDate = DateTime.Now;
            txtFax.Text = data.Tables[0].Rows[0]["FAX"].ToString();
            txtCmt.Text = data.Tables[0].Rows[0]["SO_CMT"].ToString();
            if (data.Tables[0].Rows[0]["NGAY_CAP"].ToString() != "")
                dtpNgaycap.SelectedDate = Convert.ToDateTime(data.Tables[0].Rows[0]["NGAY_CAP"].ToString());
            else dtpNgaycap.SelectedDate = DateTime.Now;
            txtNoicap.Text = data.Tables[0].Rows[0]["NOI_CAP"].ToString();
        }

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {

        }

        public bool isNumeric(string val, System.Globalization.NumberStyles NumberStyle)
        {
            Double result;
            return Double.TryParse(val, NumberStyle,
                System.Globalization.CultureInfo.CurrentCulture, out result);
        }

        private void btnCapnhat_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                DataSet ds = new DataSet();
                ds = GlobalServices.Service_NPCUS.SELECT_THONGTIN_KHANG_CHODUYET(strMadviqly, txtMaKH.Text);
                DateTime NGAYCAP = Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy"));
                DateTime NGAYSINH = Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy"));
                //string txt2 = (textBoxB.Text == "")? "NULL" : ....;
                if (dtpNgaycap.SelectedDate != null) NGAYCAP = Convert.ToDateTime(dtpNgaycap.SelectedDate.Value.ToString("MM/dd/yyyy"));
                if (dtpNgaysinh.SelectedDate != null) NGAYSINH = Convert.ToDateTime(dtpNgaysinh.SelectedDate.Value.ToString("MM/dd/yyyy"));
                if (txtSdt.Text != "")
                {
                    if (!isNumeric(txtSdt.Text, System.Globalization.NumberStyles.Integer))
                    {
                        MessageBox.Show("Số điện thoại nhập không đúng kiểu số!");
                        return;
                    }
                    if (txtCmt.Text != "")
                    {
                        if (!isNumeric(txtCmt.Text, System.Globalization.NumberStyles.Integer))
                        {
                            MessageBox.Show("Số CMT nhập không đúng kiểu số!");
                            return;
                        }
                    }
                    if (txtEmail.Text.Length > 0 && !Regex.IsMatch(txtEmail.Text, @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"))
                    {
                        MessageBox.Show("Email không hợp lệ");
                        txtEmail.Select(0, txtEmail.Text.Length);
                        txtEmail.Focus();
                        return;
                    }
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        GlobalServices.Service_NPCUS.INSERT_THONGTIN_KHACHHANG(strMadviqly, txtMaKH.Text, txtDiachi.Text, txtSdt.Text, txtWebsite.Text,
                            txtEmail.Text, NGAYSINH, txtFax.Text, txtCmt.Text, NGAYCAP,
                            txtNoicap.Text, strUsername.ToUpper(), txtTenkhachhang.Text);
                        MessageBox.Show("Cập nhật dữ liệu thành công");
                    }
                    else
                    {
                        GlobalServices.Service_NPCUS.UPDATE_THONGTIN_KHACHHANG(strMadviqly, txtMaKH.Text, txtDiachi.Text, txtSdt.Text, txtWebsite.Text,
                            txtEmail.Text, NGAYSINH, txtFax.Text, txtCmt.Text, NGAYCAP,
                            txtNoicap.Text, strUsername.ToUpper(), "False", txtTenkhachhang.Text);
                        MessageBox.Show("Cập nhật dữ liệu thành công");
                    }
                }
                else
                {
                    MessageBox.Show("Chưa nhập thông tin số điện thoại:");
                    txtSdt.Focus();
                }                
            }
            catch (Exception ex)
            { }
        }

        private void btnThoat_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                this.ppControl.IsOpen = false;
            }
            catch
            {
            }
        }
    }
}
